package indi.coffeenc.queuedownloader.strategy;

import java.util.LinkedHashMap;

public interface TaskHolderStrategy {
    /**
     * 添加任务
     */
    void add(Task task);
    /**
     * 删除任务
     */
    void delete(String uuid);
    /**
     * 暂停任务
     */
    void pause(String uuid);
    /**
     * 开始任务
     */
    void start(String uuid);
    /**
     * 获取进度
     */
    int progress(String uuid);
    /**
     * 获取全部任务
     */
    String getAll();
    /**
     * 获取下一个待下载任务
     */
    Task get();
    /**
     * 判断待下载队列是否为空
     */
    boolean isEmpty();
    /**
     * 判断是否存在相同的下载任务
     */
    boolean exists(String source);
}
